home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 2 / Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso / Pearls / dev / TurboM2 / m2 / BIO.mod < prev    next >
Text File  |  1994-11-08  |  3KB  |  137 lines

  1. IMPLEMENTATION MODULE BIO ;
  2.  
  3. FROM FIO IMPORT
  4.   StdIn, StdOut, StdErr,            (* variables       *)
  5.   EndType, File, Status,            (* types           *)
  6.                         (* procedures      *)
  7.   Close, EOF, EOLN, FindPosition,
  8.   IOStatus, FlushFile, ReportError,
  9.   ReadChar, ReadInteger, ReadLine,
  10.   ReadReal, ReadLongReal, ReadString, ReadLn,
  11.   WriteChar, WriteInteger, WriteLine,
  12.   WriteReal, WriteRealFmt, WriteLongReal, WriteLongRealFmt, WriteString,
  13.   WriteLn, UnReadChar ;
  14.  
  15. PROCEDURE IsMore( ) : BOOLEAN ;
  16. BEGIN RETURN NOT EOF( StdIn )
  17. END IsMore ;
  18.  
  19. PROCEDURE IsEndOfLine( ) : BOOLEAN ;
  20. BEGIN RETURN EOLN( StdIn )
  21. END IsEndOfLine ;
  22.  
  23. PROCEDURE PushBackChar( c : CHAR ) ;
  24. BEGIN UnReadChar( StdIn, c )
  25. END PushBackChar ;
  26.  
  27. PROCEDURE GetLn( VAR s : ARRAY OF CHAR ) ;
  28. BEGIN ReadLn( StdIn, s )
  29. END GetLn ;
  30.  
  31. PROCEDURE PutLn( s : ARRAY OF CHAR );
  32. BEGIN WriteLn( StdOut, s )
  33. END PutLn ;
  34.  
  35. PROCEDURE GetInteger( VAR int : LONGINT ) ;
  36. BEGIN
  37.   LOOP
  38.    int := ReadInteger( StdIn ) ;
  39.    IF IOStatus( StdIn ) = NoError THEN EXIT END ;
  40.      WriteString( StdErr, "Not a valid Integer. Try again: ") ;
  41.      FlushFile( StdErr ) ;
  42.      ReadLine( StdIn )
  43.   END
  44. END GetInteger ;
  45.  
  46. PROCEDURE PutInteger( int : LONGINT ) ;
  47. BEGIN WriteInteger( StdOut, int )
  48. END PutInteger ;
  49.  
  50. PROCEDURE GetReal( VAR real : REAL ) ;
  51. BEGIN
  52.   LOOP
  53.     real := ReadReal( StdIn ) ;
  54.     IF IOStatus( StdIn ) = NoError THEN EXIT END ;
  55.     WriteString( StdErr, "Not a valid REAL. Try again: ") ;
  56.     FlushFile( StdErr ) ;
  57.     ReadLine( StdIn )
  58.   END
  59. END GetReal ;
  60.  
  61. PROCEDURE PutReal( real : REAL ) ;
  62. BEGIN WriteReal( StdOut, real )
  63. END PutReal ;
  64.  
  65. PROCEDURE PutRealFmt( r : REAL; width, decplaces : LONGINT ) ;
  66. BEGIN WriteRealFmt( StdOut, r, width, decplaces )
  67. END PutRealFmt ;
  68.  
  69. PROCEDURE GetLongReal( VAR longReal : LONGREAL ) ;
  70. BEGIN
  71.   LOOP
  72.     longReal := ReadLongReal( StdIn ) ;
  73.     IF IOStatus( StdIn ) = NoError THEN EXIT END ;
  74.     WriteString( StdErr, "Not a valid LONGREAL. Try again: ") ;
  75.     FlushFile( StdErr ) ;
  76.     ReadLine( StdIn )
  77.   END
  78. END GetLongReal ;
  79.  
  80. PROCEDURE PutLongReal( lr : LONGREAL ) ;
  81. BEGIN WriteLongReal( StdOut, lr )
  82. END PutLongReal ;
  83.  
  84. PROCEDURE PutLongRealFmt( r : LONGREAL ; width, decplaces : LONGINT ) ;
  85. BEGIN WriteLongRealFmt( StdOut, r, width, decplaces )
  86. END PutLongRealFmt ;
  87.  
  88. PROCEDURE GetChar( VAR ch : CHAR ) ;
  89. BEGIN ch := ReadChar( StdIn )
  90. END GetChar ;
  91.  
  92. PROCEDURE InspectChar( ) : CHAR ;
  93.  VAR ch : CHAR ;
  94. BEGIN
  95.   IF EOF( StdIn ) THEN
  96.     RETURN 0C
  97.   ELSE
  98.     ch := ReadChar( StdIn ) ;
  99.     UnReadChar( StdIn, ch ) ;
  100.     RETURN ch
  101.   END
  102. END InspectChar;
  103.  
  104. PROCEDURE PutChar( ch : CHAR ) ;
  105. BEGIN WriteChar( StdOut, ch )
  106. END PutChar ;
  107.  
  108. PROCEDURE GetString( VAR str : ARRAY OF CHAR ) ;
  109. BEGIN
  110.   LOOP
  111.     str[0] := 0C ;
  112.     ReadString( StdIn, str ) ;
  113.     IF IOStatus( StdIn ) = NoError THEN EXIT END ;
  114.     WriteString( StdErr, "Not a valid STRING. Try again: ") ;
  115.     FlushFile( StdErr ) ;
  116.     ReadLine( StdIn )
  117.   END ;
  118. END GetString ;
  119.  
  120. PROCEDURE PutString( str : (*@N*) ARRAY OF CHAR ) ;
  121. BEGIN WriteString( StdOut, str )
  122. END PutString ;
  123.  
  124. PROCEDURE GetLine( ) ;
  125. BEGIN ReadLine( StdIn )
  126. END GetLine;
  127.  
  128. PROCEDURE PutLine( ) ;
  129. BEGIN WriteLine( StdOut )
  130. END PutLine ;
  131.  
  132. PROCEDURE Flush( ) ;
  133. BEGIN FlushFile( StdOut ) ; FlushFile( StdIn )
  134. END Flush ;
  135.  
  136. END BIO.
  137.